package com.cellulam.framework.mq;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RocketMqConsumerConfig {

    /**
     * GROUP ID，一个实例的group不能重复，分布式同一group下消费者订阅必须完全一样
     */
    private String groupId;

    /**
     * 消费者(线程)个数，默认3个
     *
     * @return
     */
    private int concurrentConsumers;

    /**
     * 顺序消息消费失败进行重试前的等待时间，单位(毫秒)，取值范围: 10 毫秒 ~ 1800 毫秒
     */
    private int suspendTimeMillis;
    /**
     * 消息消费失败时的最大重试次数
     */
    private int maxReConsumeTimes;

    /**
     * 消费线程超时
     */
    private int consumeTimeout;


    /**
     * topic
     */
    private String topic;

    /**
     * tags
     */
    private List<String> tags;
}
